<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ES6</title>
</head>
<body>
</body>
<script>
/* 
    class声明
        函数声明可以被提升，class 生效的机制与let一致
            console.log(A) // ReferenceError: A is not defined
            class A {}
        类声明中所有代码都默认运行在严格模式下，且无法「关闭」这种「开关」
        类中所有方法都是不可枚举的
            class A {
                method1() {}
            }
            console.log(Object.keys(A.prototype)) // []

            function B() {}
            B.prototype.method1 = function() {}
            console.log(Object.keys(B.prototype)) // ['method1']
        使用除关键字new以外的方式调用类都会报错：
        在类的内部修改类名会报错
            class A {
                constructor() {
                    A = 'B'  // Uncaught SyntaxError: Identifier 'A' has already been declared
                }
            }
            A = B // 但在声明结束时可以修改
 */
</script>
</html>